package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("archive_cancel")
public class ArchiveCancel {
    @TableId(type = IdType.AUTO)
    private Long id;

    private String businessUnit;
    private String department;
    private String employeeName;
    private String gender;
    private String employeeNumber;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date entryDate;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date leaveDate;

    private String leaveType;
    private BigDecimal workYears;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date cancelDate;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date expectedDiscardDate;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date actualDiscardDate;

    private String discardMethod;

    // 注销审批信息
    private String cancelApprover;
    private String cancelReviewer;
    private String cancelCompiler;

    // 报废审批信息
    private String discardApprover;
    private String discardReviewer;
    private String discardApplicant;

    // 通用字段
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    private String createBy;
    private String updateBy;

    @TableLogic
    private Boolean isDeleted;
}